package com.reebake.ideal.captcha.core;

import com.reebake.ideal.captcha.entity.CaptchaRequestEntity;
import com.reebake.ideal.captcha.entity.CaptchaResponseEntity;

/**
 * captcha验证码增强服务
 */
public interface SmartCaptchaService {

    /**
     * 生成captcha验证码
     * @param captchaRequestEntity 请求参数
     * @return captcha验证码
     */
    public CaptchaResponseEntity get(CaptchaRequestEntity captchaRequestEntity);

    /**
     * 校验captcha验证码
     * @param captchaRequestEntity 验证码数据
     * @return 验证结果
     */
    public CaptchaResponseEntity check(CaptchaRequestEntity captchaRequestEntity);

    /**
     * 二次验证
     * @param captchaRequestEntity 验证码数据
     * @return 验证结果
     */
    public CaptchaResponseEntity verify(CaptchaRequestEntity captchaRequestEntity);

}
